/*
 * Copyright (C) 2024-2025 OpenAni and contributors.
 *
 * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
 * Use of this source code is governed by the GNU AGPLv3 license, which can be found at the following link.
 *
 * https://github.com/open-ani/ani/blob/main/LICENSE
 */

// Generated from /Users/general_k1ng/Documents/project/animeko/utils/bbcode/BBCode.g4 by ANTLR 4.13.1
package me.him188.ani.utils.bbcode

import org.antlr.v4.kotlinruntime.CharStream
import org.antlr.v4.kotlinruntime.Lexer
import org.antlr.v4.kotlinruntime.RuntimeMetaData
import org.antlr.v4.kotlinruntime.Vocabulary
import org.antlr.v4.kotlinruntime.VocabularyImpl
import org.antlr.v4.kotlinruntime.atn.ATN
import org.antlr.v4.kotlinruntime.atn.ATNDeserializer
import org.antlr.v4.kotlinruntime.atn.LexerATNSimulator
import org.antlr.v4.kotlinruntime.atn.PredictionContextCache
import org.antlr.v4.kotlinruntime.dfa.DFA

@Suppress(
    "ClassName",
    "FunctionName",
    "LocalVariableName",
    "ConstPropertyName",
)
public open class BBCodeLexer(input: CharStream) : Lexer(input) {
    private companion object {
        init {
            RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.runtimeVersion)
        }

        private const val SERIALIZED_ATN: String =
            "\u0004\u0000\u004a\u0242\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002\u0008\u0007\u0008\u0002\u0009\u0007\u0009\u0002\u000a\u0007\u000a\u0002\u000b\u0007\u000b\u0002\u000c\u0007\u000c\u0002\u000d\u0007\u000d\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002\u0020\u0007\u0020\u0002\u0021\u0007\u0021\u0002\u0022\u0007\u0022\u0002\u0023\u0007\u0023\u0002\u0024\u0007\u0024\u0002\u0025\u0007\u0025\u0002\u0026\u0007\u0026\u0002\u0027\u0007\u0027\u0002\u0028\u0007\u0028\u0002\u0029\u0007\u0029\u0002\u002a\u0007\u002a\u0002\u002b\u0007\u002b\u0002\u002c\u0007\u002c\u0002\u002d\u0007\u002d\u0002\u002e\u0007\u002e\u0002\u002f\u0007\u002f\u0002\u0030\u0007\u0030\u0002\u0031\u0007\u0031\u0002\u0032\u0007\u0032\u0002\u0033\u0007\u0033\u0002\u0034\u0007\u0034\u0002\u0035\u0007\u0035\u0002\u0036\u0007\u0036\u0002\u0037\u0007\u0037\u0002\u0038\u0007\u0038\u0002\u0039\u0007\u0039\u0002\u003a\u0007\u003a\u0002\u003b\u0007\u003b\u0002\u003c\u0007\u003c\u0002\u003d\u0007\u003d\u0002\u003e\u0007\u003e\u0002\u003f\u0007\u003f\u0002\u0040\u0007\u0040\u0002\u0041\u0007\u0041\u0002\u0042\u0007\u0042\u0002\u0043\u0007\u0043\u0002\u0044\u0007\u0044\u0002\u0045\u0007\u0045\u0002\u0046\u0007\u0046\u0002\u0047\u0007\u0047\u0002\u0048\u0007\u0048\u0002\u0049\u0007\u0049\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0008\u0001\u0008\u0001\u0008\u0001\u0008\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u0009\u0001\u000a\u0001\u000a\u0001\u000a\u0001\u000a\u0001\u000a\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000c\u0001\u000c\u0001\u000c\u0001\u000c\u0001\u000d\u0001\u000d\u0001\u000d\u0001\u000d\u0001\u000d\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u0020\u0001\u0020\u0001\u0020\u0001\u0020\u0001\u0020\u0001\u0020\u0001\u0020\u0001\u0020\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0021\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0022\u0001\u0023\u0001\u0023\u0001\u0023\u0001\u0023\u0001\u0023\u0001\u0023\u0001\u0023\u0001\u0024\u0001\u0024\u0001\u0024\u0001\u0024\u0001\u0024\u0001\u0024\u0001\u0024\u0001\u0025\u0001\u0025\u0001\u0025\u0001\u0025\u0001\u0025\u0001\u0025\u0001\u0025\u0001\u0025\u0001\u0026\u0001\u0026\u0001\u0026\u0001\u0026\u0001\u0026\u0001\u0026\u0001\u0026\u0001\u0026\u0001\u0027\u0001\u0027\u0001\u0027\u0001\u0027\u0001\u0027\u0001\u0027\u0001\u0027\u0001\u0027\u0001\u0028\u0001\u0028\u0001\u0028\u0001\u0028\u0001\u0028\u0001\u0028\u0001\u0028\u0001\u0028\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u0029\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002a\u0001\u002b\u0001\u002b\u0001\u002b\u0001\u002b\u0001\u002b\u0001\u002c\u0001\u002c\u0001\u002c\u0001\u002c\u0001\u002c\u0001\u002d\u0001\u002d\u0001\u002d\u0001\u002d\u0001\u002d\u0001\u002d\u0001\u002e\u0001\u002e\u0001\u002e\u0001\u002e\u0001\u002e\u0001\u002e\u0001\u002f\u0001\u002f\u0001\u002f\u0001\u002f\u0001\u002f\u0001\u002f\u0001\u0030\u0001\u0030\u0001\u0030\u0001\u0030\u0001\u0030\u0001\u0030\u0001\u0031\u0001\u0031\u0001\u0031\u0001\u0031\u0001\u0031\u0001\u0031\u0001\u0032\u0001\u0032\u0001\u0032\u0001\u0032\u0001\u0032\u0001\u0032\u0001\u0033\u0001\u0033\u0001\u0033\u0001\u0033\u0001\u0033\u0001\u0033\u0001\u0034\u0001\u0034\u0001\u0034\u0001\u0034\u0001\u0034\u0001\u0034\u0001\u0035\u0001\u0035\u0001\u0035\u0001\u0035\u0001\u0035\u0001\u0035\u0001\u0036\u0001\u0036\u0001\u0036\u0001\u0036\u0001\u0036\u0001\u0036\u0001\u0037\u0001\u0037\u0001\u0037\u0001\u0037\u0001\u0037\u0001\u0037\u0001\u0038\u0001\u0038\u0001\u0038\u0001\u0038\u0001\u0038\u0001\u0038\u0001\u0038\u0001\u0039\u0001\u0039\u0001\u0039\u0001\u0039\u0001\u0039\u0001\u0039\u0001\u0039\u0001\u0039\u0001\u003a\u0001\u003a\u0001\u003a\u0001\u003a\u0001\u003a\u0001\u003a\u0001\u003a\u0001\u003b\u0001\u003b\u0001\u003b\u0001\u003b\u0001\u003b\u0001\u003c\u0001\u003c\u0001\u003c\u0001\u003c\u0001\u003c\u0001\u003c\u0001\u003d\u0001\u003d\u0001\u003d\u0001\u003d\u0001\u003d\u0001\u003d\u0001\u003e\u0001\u003e\u0001\u003e\u0001\u003e\u0001\u003e\u0001\u003e\u0001\u003f\u0001\u003f\u0001\u003f\u0001\u003f\u0001\u003f\u0001\u003f\u0001\u003f\u0001\u0040\u0001\u0040\u0001\u0040\u0001\u0040\u0001\u0040\u0001\u0040\u0001\u0040\u0001\u0041\u0001\u0041\u0001\u0041\u0001\u0041\u0001\u0041\u0001\u0041\u0001\u0042\u0001\u0042\u0001\u0042\u0001\u0042\u0001\u0042\u0001\u0042\u0001\u0043\u0001\u0043\u0001\u0043\u0001\u0043\u0001\u0043\u0001\u0044\u0001\u0044\u0001\u0044\u0001\u0044\u0001\u0044\u0001\u0045\u0001\u0045\u0001\u0045\u0001\u0045\u0001\u0045\u0001\u0045\u0001\u0045\u0001\u0046\u0001\u0046\u0001\u0046\u0001\u0046\u0001\u0046\u0001\u0046\u0001\u0046\u0001\u0047\u0004\u0047\u0236\u0008\u0047\u000b\u0047\u000c\u0047\u0237\u0001\u0048\u0001\u0048\u0001\u0048\u0001\u0048\u0001\u0049\u0004\u0049\u023f\u0008\u0049\u000b\u0049\u000c\u0049\u0240\u0000\u0000\u004a\u0001\u0001\u0003\u0002\u0005\u0003\u0007\u0004\u0009\u0005\u000b\u0006\u000d\u0007\u000f\u0008\u0011\u0009\u0013\u000a\u0015\u000b\u0017\u000c\u0019\u000d\u001b\u000e\u001d\u000f\u001f\u0010\u0021\u0011\u0023\u0012\u0025\u0013\u0027\u0014\u0029\u0015\u002b\u0016\u002d\u0017\u002f\u0018\u0031\u0019\u0033\u001a\u0035\u001b\u0037\u001c\u0039\u001d\u003b\u001e\u003d\u001f\u003f\u0020\u0041\u0021\u0043\u0022\u0045\u0023\u0047\u0024\u0049\u0025\u004b\u0026\u004d\u0027\u004f\u0028\u0051\u0029\u0053\u002a\u0055\u002b\u0057\u002c\u0059\u002d\u005b\u002e\u005d\u002f\u005f\u0030\u0061\u0031\u0063\u0032\u0065\u0033\u0067\u0034\u0069\u0035\u006b\u0036\u006d\u0037\u006f\u0038\u0071\u0039\u0073\u003a\u0075\u003b\u0077\u003c\u0079\u003d\u007b\u003e\u007d\u003f\u007f\u0040\u0081\u0041\u0083\u0042\u0085\u0043\u0087\u0044\u0089\u0045\u008b\u0046\u008d\u0047\u008f\u0048\u0091\u0049\u0093\u004a\u0001\u0000\u0002\u0001\u0000\u0030\u0039\u0003\u0000\u0028\u0029\u005b\u005b\u005d\u005d\u0243\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003\u0001\u0000\u0000\u0000\u0000\u0005\u0001\u0000\u0000\u0000\u0000\u0007\u0001\u0000\u0000\u0000\u0000\u0009\u0001\u0000\u0000\u0000\u0000\u000b\u0001\u0000\u0000\u0000\u0000\u000d\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000\u0000\u0000\u0000\u0011\u0001\u0000\u0000\u0000\u0000\u0013\u0001\u0000\u0000\u0000\u0000\u0015\u0001\u0000\u0000\u0000\u0000\u0017\u0001\u0000\u0000\u0000\u0000\u0019\u0001\u0000\u0000\u0000\u0000\u001b\u0001\u0000\u0000\u0000\u0000\u001d\u0001\u0000\u0000\u0000\u0000\u001f\u0001\u0000\u0000\u0000\u0000\u0021\u0001\u0000\u0000\u0000\u0000\u0023\u0001\u0000\u0000\u0000\u0000\u0025\u0001\u0000\u0000\u0000\u0000\u0027\u0001\u0000\u0000\u0000\u0000\u0029\u0001\u0000\u0000\u0000\u0000\u002b\u0001\u0000\u0000\u0000\u0000\u002d\u0001\u0000\u0000\u0000\u0000\u002f\u0001\u0000\u0000\u0000\u0000\u0031\u0001\u0000\u0000\u0000\u0000\u0033\u0001\u0000\u0000\u0000\u0000\u0035\u0001\u0000\u0000\u0000\u0000\u0037\u0001\u0000\u0000\u0000\u0000\u0039\u0001\u0000\u0000\u0000\u0000\u003b\u0001\u0000\u0000\u0000\u0000\u003d\u0001\u0000\u0000\u0000\u0000\u003f\u0001\u0000\u0000\u0000\u0000\u0041\u0001\u0000\u0000\u0000\u0000\u0043\u0001\u0000\u0000\u0000\u0000\u0045\u0001\u0000\u0000\u0000\u0000\u0047\u0001\u0000\u0000\u0000\u0000\u0049\u0001\u0000\u0000\u0000\u0000\u004b\u0001\u0000\u0000\u0000\u0000\u004d\u0001\u0000\u0000\u0000\u0000\u004f\u0001\u0000\u0000\u0000\u0000\u0051\u0001\u0000\u0000\u0000\u0000\u0053\u0001\u0000\u0000\u0000\u0000\u0055\u0001\u0000\u0000\u0000\u0000\u0057\u0001\u0000\u0000\u0000\u0000\u0059\u0001\u0000\u0000\u0000\u0000\u005b\u0001\u0000\u0000\u0000\u0000\u005d\u0001\u0000\u0000\u0000\u0000\u005f\u0001\u0000\u0000\u0000\u0000\u0061\u0001\u0000\u0000\u0000\u0000\u0063\u0001\u0000\u0000\u0000\u0000\u0065\u0001\u0000\u0000\u0000\u0000\u0067\u0001\u0000\u0000\u0000\u0000\u0069\u0001\u0000\u0000\u0000\u0000\u006b\u0001\u0000\u0000\u0000\u0000\u006d\u0001\u0000\u0000\u0000\u0000\u006f\u0001\u0000\u0000\u0000\u0000\u0071\u0001\u0000\u0000\u0000\u0000\u0073\u0001\u0000\u0000\u0000\u0000\u0075\u0001\u0000\u0000\u0000\u0000\u0077\u0001\u0000\u0000\u0000\u0000\u0079\u0001\u0000\u0000\u0000\u0000\u007b\u0001\u0000\u0000\u0000\u0000\u007d\u0001\u0000\u0000\u0000\u0000\u007f\u0001\u0000\u0000\u0000\u0000\u0081\u0001\u0000\u0000\u0000\u0000\u0083\u0001\u0000\u0000\u0000\u0000\u0085\u0001\u0000\u0000\u0000\u0000\u0087\u0001\u0000\u0000\u0000\u0000\u0089\u0001\u0000\u0000\u0000\u0000\u008b\u0001\u0000\u0000\u0000\u0000\u008d\u0001\u0000\u0000\u0000\u0000\u008f\u0001\u0000\u0000\u0000\u0000\u0091\u0001\u0000\u0000\u0000\u0000\u0093\u0001\u0000\u0000\u0000\u0001\u0095\u0001\u0000\u0000\u0000\u0003\u0097\u0001\u0000\u0000\u0000\u0005\u0099\u0001\u0000\u0000\u0000\u0007\u009b\u0001\u0000\u0000\u0000\u0009\u009d\u0001\u0000\u0000\u0000\u000b\u009f\u0001\u0000\u0000\u0000\u000d\u00a1\u0001\u0000\u0000\u0000\u000f\u00a3\u0001\u0000\u0000\u0000\u0011\u00a7\u0001\u0000\u0000\u0000\u0013\u00ab\u0001\u0000\u0000\u0000\u0015\u00b0\u0001\u0000\u0000\u0000\u0017\u00b5\u0001\u0000\u0000\u0000\u0019\u00b9\u0001\u0000\u0000\u0000\u001b\u00bd\u0001\u0000\u0000\u0000\u001d\u00c2\u0001\u0000\u0000\u0000\u001f\u00c7\u0001\u0000\u0000\u0000\u0021\u00cb\u0001\u0000\u0000\u0000\u0023\u00cf\u0001\u0000\u0000\u0000\u0025\u00d4\u0001\u0000\u0000\u0000\u0027\u00d9\u0001\u0000\u0000\u0000\u0029\u00dd\u0001\u0000\u0000\u0000\u002b\u00e1\u0001\u0000\u0000\u0000\u002d\u00e6\u0001\u0000\u0000\u0000\u002f\u00eb\u0001\u0000\u0000\u0000\u0031\u00f2\u0001\u0000\u0000\u0000\u0033\u00f9\u0001\u0000\u0000\u0000\u0035\u0101\u0001\u0000\u0000\u0000\u0037\u0109\u0001\u0000\u0000\u0000\u0039\u0110\u0001\u0000\u0000\u0000\u003b\u0117\u0001\u0000\u0000\u0000\u003d\u011f\u0001\u0000\u0000\u0000\u003f\u0127\u0001\u0000\u0000\u0000\u0041\u012f\u0001\u0000\u0000\u0000\u0043\u0137\u0001\u0000\u0000\u0000\u0045\u0140\u0001\u0000\u0000\u0000\u0047\u0149\u0001\u0000\u0000\u0000\u0049\u0150\u0001\u0000\u0000\u0000\u004b\u0157\u0001\u0000\u0000\u0000\u004d\u015f\u0001\u0000\u0000\u0000\u004f\u0167\u0001\u0000\u0000\u0000\u0051\u016f\u0001\u0000\u0000\u0000\u0053\u0177\u0001\u0000\u0000\u0000\u0055\u0180\u0001\u0000\u0000\u0000\u0057\u0189\u0001\u0000\u0000\u0000\u0059\u018e\u0001\u0000\u0000\u0000\u005b\u0193\u0001\u0000\u0000\u0000\u005d\u0199\u0001\u0000\u0000\u0000\u005f\u019f\u0001\u0000\u0000\u0000\u0061\u01a5\u0001\u0000\u0000\u0000\u0063\u01ab\u0001\u0000\u0000\u0000\u0065\u01b1\u0001\u0000\u0000\u0000\u0067\u01b7\u0001\u0000\u0000\u0000\u0069\u01bd\u0001\u0000\u0000\u0000\u006b\u01c3\u0001\u0000\u0000\u0000\u006d\u01c9\u0001\u0000\u0000\u0000\u006f\u01cf\u0001\u0000\u0000\u0000\u0071\u01d5\u0001\u0000\u0000\u0000\u0073\u01dc\u0001\u0000\u0000\u0000\u0075\u01e4\u0001\u0000\u0000\u0000\u0077\u01eb\u0001\u0000\u0000\u0000\u0079\u01f0\u0001\u0000\u0000\u0000\u007b\u01f6\u0001\u0000\u0000\u0000\u007d\u01fc\u0001\u0000\u0000\u0000\u007f\u0202\u0001\u0000\u0000\u0000\u0081\u0209\u0001\u0000\u0000\u0000\u0083\u0210\u0001\u0000\u0000\u0000\u0085\u0216\u0001\u0000\u0000\u0000\u0087\u021c\u0001\u0000\u0000\u0000\u0089\u0221\u0001\u0000\u0000\u0000\u008b\u0226\u0001\u0000\u0000\u0000\u008d\u022d\u0001\u0000\u0000\u0000\u008f\u0235\u0001\u0000\u0000\u0000\u0091\u0239\u0001\u0000\u0000\u0000\u0093\u023e\u0001\u0000\u0000\u0000\u0095\u0096\u0005\u0028\u0000\u0000\u0096\u0002\u0001\u0000\u0000\u0000\u0097\u0098\u0005\u0029\u0000\u0000\u0098\u0004\u0001\u0000\u0000\u0000\u0099\u009a\u0005\u005b\u0000\u0000\u009a\u0006\u0001\u0000\u0000\u0000\u009b\u009c\u0005\u002f\u0000\u0000\u009c\u0008\u0001\u0000\u0000\u0000\u009d\u009e\u0005\u005d\u0000\u0000\u009e\u000a\u0001\u0000\u0000\u0000\u009f\u00a0\u0005\u003d\u0000\u0000\u00a0\u000c\u0001\u0000\u0000\u0000\u00a1\u00a2\u0005\u002c\u0000\u0000\u00a2\u000e\u0001\u0000\u0000\u0000\u00a3\u00a4\u0005\u005b\u0000\u0000\u00a4\u00a5\u0005\u0062\u0000\u0000\u00a5\u00a6\u0005\u005d\u0000\u0000\u00a6\u0010\u0001\u0000\u0000\u0000\u00a7\u00a8\u0005\u005b\u0000\u0000\u00a8\u00a9\u0005\u0042\u0000\u0000\u00a9\u00aa\u0005\u005d\u0000\u0000\u00aa\u0012\u0001\u0000\u0000\u0000\u00ab\u00ac\u0005\u005b\u0000\u0000\u00ac\u00ad\u0005\u002f\u0000\u0000\u00ad\u00ae\u0005\u0062\u0000\u0000\u00ae\u00af\u0005\u005d\u0000\u0000\u00af\u0014\u0001\u0000\u0000\u0000\u00b0\u00b1\u0005\u005b\u0000\u0000\u00b1\u00b2\u0005\u002f\u0000\u0000\u00b2\u00b3\u0005\u0042\u0000\u0000\u00b3\u00b4\u0005\u005d\u0000\u0000\u00b4\u0016\u0001\u0000\u0000\u0000\u00b5\u00b6\u0005\u005b\u0000\u0000\u00b6\u00b7\u0005\u0069\u0000\u0000\u00b7\u00b8\u0005\u005d\u0000\u0000\u00b8\u0018\u0001\u0000\u0000\u0000\u00b9\u00ba\u0005\u005b\u0000\u0000\u00ba\u00bb\u0005\u0049\u0000\u0000\u00bb\u00bc\u0005\u005d\u0000\u0000\u00bc\u001a\u0001\u0000\u0000\u0000\u00bd\u00be\u0005\u005b\u0000\u0000\u00be\u00bf\u0005\u002f\u0000\u0000\u00bf\u00c0\u0005\u0069\u0000\u0000\u00c0\u00c1\u0005\u005d\u0000\u0000\u00c1\u001c\u0001\u0000\u0000\u0000\u00c2\u00c3\u0005\u005b\u0000\u0000\u00c3\u00c4\u0005\u002f\u0000\u0000\u00c4\u00c5\u0005\u0049\u0000\u0000\u00c5\u00c6\u0005\u005d\u0000\u0000\u00c6\u001e\u0001\u0000\u0000\u0000\u00c7\u00c8\u0005\u005b\u0000\u0000\u00c8\u00c9\u0005\u0075\u0000\u0000\u00c9\u00ca\u0005\u005d\u0000\u0000\u00ca\u0020\u0001\u0000\u0000\u0000\u00cb\u00cc\u0005\u005b\u0000\u0000\u00cc\u00cd\u0005\u0055\u0000\u0000\u00cd\u00ce\u0005\u005d\u0000\u0000\u00ce\u0022\u0001\u0000\u0000\u0000\u00cf\u00d0\u0005\u005b\u0000\u0000\u00d0\u00d1\u0005\u002f\u0000\u0000\u00d1\u00d2\u0005\u0075\u0000\u0000\u00d2\u00d3\u0005\u005d\u0000\u0000\u00d3\u0024\u0001\u0000\u0000\u0000\u00d4\u00d5\u0005\u005b\u0000\u0000\u00d5\u00d6\u0005\u002f\u0000\u0000\u00d6\u00d7\u0005\u0055\u0000\u0000\u00d7\u00d8\u0005\u005d\u0000\u0000\u00d8\u0026\u0001\u0000\u0000\u0000\u00d9\u00da\u0005\u005b\u0000\u0000\u00da\u00db\u0005\u0073\u0000\u0000\u00db\u00dc\u0005\u005d\u0000\u0000\u00dc\u0028\u0001\u0000\u0000\u0000\u00dd\u00de\u0005\u005b\u0000\u0000\u00de\u00df\u0005\u0053\u0000\u0000\u00df\u00e0\u0005\u005d\u0000\u0000\u00e0\u002a\u0001\u0000\u0000\u0000\u00e1\u00e2\u0005\u005b\u0000\u0000\u00e2\u00e3\u0005\u002f\u0000\u0000\u00e3\u00e4\u0005\u0073\u0000\u0000\u00e4\u00e5\u0005\u005d\u0000\u0000\u00e5\u002c\u0001\u0000\u0000\u0000\u00e6\u00e7\u0005\u005b\u0000\u0000\u00e7\u00e8\u0005\u002f\u0000\u0000\u00e8\u00e9\u0005\u0053\u0000\u0000\u00e9\u00ea\u0005\u005d\u0000\u0000\u00ea\u002e\u0001\u0000\u0000\u0000\u00eb\u00ec\u0005\u005b\u0000\u0000\u00ec\u00ed\u0005\u0063\u0000\u0000\u00ed\u00ee\u0005\u006f\u0000\u0000\u00ee\u00ef\u0005\u0064\u0000\u0000\u00ef\u00f0\u0005\u0065\u0000\u0000\u00f0\u00f1\u0005\u005d\u0000\u0000\u00f1\u0030\u0001\u0000\u0000\u0000\u00f2\u00f3\u0005\u005b\u0000\u0000\u00f3\u00f4\u0005\u0043\u0000\u0000\u00f4\u00f5\u0005\u004f\u0000\u0000\u00f5\u00f6\u0005\u0044\u0000\u0000\u00f6\u00f7\u0005\u0045\u0000\u0000\u00f7\u00f8\u0005\u005d\u0000\u0000\u00f8\u0032\u0001\u0000\u0000\u0000\u00f9\u00fa\u0005\u005b\u0000\u0000\u00fa\u00fb\u0005\u002f\u0000\u0000\u00fb\u00fc\u0005\u0063\u0000\u0000\u00fc\u00fd\u0005\u006f\u0000\u0000\u00fd\u00fe\u0005\u0064\u0000\u0000\u00fe\u00ff\u0005\u0065\u0000\u0000\u00ff\u0100\u0005\u005d\u0000\u0000\u0100\u0034\u0001\u0000\u0000\u0000\u0101\u0102\u0005\u005b\u0000\u0000\u0102\u0103\u0005\u002f\u0000\u0000\u0103\u0104\u0005\u0043\u0000\u0000\u0104\u0105\u0005\u004f\u0000\u0000\u0105\u0106\u0005\u0044\u0000\u0000\u0106\u0107\u0005\u0045\u0000\u0000\u0107\u0108\u0005\u005d\u0000\u0000\u0108\u0036\u0001\u0000\u0000\u0000\u0109\u010a\u0005\u005b\u0000\u0000\u010a\u010b\u0005\u006d\u0000\u0000\u010b\u010c\u0005\u0061\u0000\u0000\u010c\u010d\u0005\u0073\u0000\u0000\u010d\u010e\u0005\u006b\u0000\u0000\u010e\u010f\u0005\u005d\u0000\u0000\u010f\u0038\u0001\u0000\u0000\u0000\u0110\u0111\u0005\u005b\u0000\u0000\u0111\u0112\u0005\u004d\u0000\u0000\u0112\u0113\u0005\u0041\u0000\u0000\u0113\u0114\u0005\u0053\u0000\u0000\u0114\u0115\u0005\u004b\u0000\u0000\u0115\u0116\u0005\u005d\u0000\u0000\u0116\u003a\u0001\u0000\u0000\u0000\u0117\u0118\u0005\u005b\u0000\u0000\u0118\u0119\u0005\u002f\u0000\u0000\u0119\u011a\u0005\u006d\u0000\u0000\u011a\u011b\u0005\u0061\u0000\u0000\u011b\u011c\u0005\u0073\u0000\u0000\u011c\u011d\u0005\u006b\u0000\u0000\u011d\u011e\u0005\u005d\u0000\u0000\u011e\u003c\u0001\u0000\u0000\u0000\u011f\u0120\u0005\u005b\u0000\u0000\u0120\u0121\u0005\u002f\u0000\u0000\u0121\u0122\u0005\u004d\u0000\u0000\u0122\u0123\u0005\u0041\u0000\u0000\u0123\u0124\u0005\u0053\u0000\u0000\u0124\u0125\u0005\u004b\u0000\u0000\u0125\u0126\u0005\u005d\u0000\u0000\u0126\u003e\u0001\u0000\u0000\u0000\u0127\u0128\u0005\u005b\u0000\u0000\u0128\u0129\u0005\u0071\u0000\u0000\u0129\u012a\u0005\u0075\u0000\u0000\u012a\u012b\u0005\u006f\u0000\u0000\u012b\u012c\u0005\u0074\u0000\u0000\u012c\u012d\u0005\u0065\u0000\u0000\u012d\u012e\u0005\u005d\u0000\u0000\u012e\u0040\u0001\u0000\u0000\u0000\u012f\u0130\u0005\u005b\u0000\u0000\u0130\u0131\u0005\u0051\u0000\u0000\u0131\u0132\u0005\u0055\u0000\u0000\u0132\u0133\u0005\u004f\u0000\u0000\u0133\u0134\u0005\u0054\u0000\u0000\u0134\u0135\u0005\u0045\u0000\u0000\u0135\u0136\u0005\u005d\u0000\u0000\u0136\u0042\u0001\u0000\u0000\u0000\u0137\u0138\u0005\u005b\u0000\u0000\u0138\u0139\u0005\u002f\u0000\u0000\u0139\u013a\u0005\u0071\u0000\u0000\u013a\u013b\u0005\u0075\u0000\u0000\u013b\u013c\u0005\u006f\u0000\u0000\u013c\u013d\u0005\u0074\u0000\u0000\u013d\u013e\u0005\u0065\u0000\u0000\u013e\u013f\u0005\u005d\u0000\u0000\u013f\u0044\u0001\u0000\u0000\u0000\u0140\u0141\u0005\u005b\u0000\u0000\u0141\u0142\u0005\u002f\u0000\u0000\u0142\u0143\u0005\u0051\u0000\u0000\u0143\u0144\u0005\u0055\u0000\u0000\u0144\u0145\u0005\u004f\u0000\u0000\u0145\u0146\u0005\u0054\u0000\u0000\u0146\u0147\u0005\u0045\u0000\u0000\u0147\u0148\u0005\u005d\u0000\u0000\u0148\u0046\u0001\u0000\u0000\u0000\u0149\u014a\u0005\u005b\u0000\u0000\u014a\u014b\u0005\u0073\u0000\u0000\u014b\u014c\u0005\u0069\u0000\u0000\u014c\u014d\u0005\u007a\u0000\u0000\u014d\u014e\u0005\u0065\u0000\u0000\u014e\u014f\u0005\u003d\u0000\u0000\u014f\u0048\u0001\u0000\u0000\u0000\u0150\u0151\u0005\u005b\u0000\u0000\u0151\u0152\u0005\u0053\u0000\u0000\u0152\u0153\u0005\u0049\u0000\u0000\u0153\u0154\u0005\u005a\u0000\u0000\u0154\u0155\u0005\u0045\u0000\u0000\u0155\u0156\u0005\u003d\u0000\u0000\u0156\u004a\u0001\u0000\u0000\u0000\u0157\u0158\u0005\u005b\u0000\u0000\u0158\u0159\u0005\u002f\u0000\u0000\u0159\u015a\u0005\u0073\u0000\u0000\u015a\u015b\u0005\u0069\u0000\u0000\u015b\u015c\u0005\u007a\u0000\u0000\u015c\u015d\u0005\u0065\u0000\u0000\u015d\u015e\u0005\u005d\u0000\u0000\u015e\u004c\u0001\u0000\u0000\u0000\u015f\u0160\u0005\u005b\u0000\u0000\u0160\u0161\u0005\u002f\u0000\u0000\u0161\u0162\u0005\u0053\u0000\u0000\u0162\u0163\u0005\u0049\u0000\u0000\u0163\u0164\u0005\u005a\u0000\u0000\u0164\u0165\u0005\u0045\u0000\u0000\u0165\u0166\u0005\u005d\u0000\u0000\u0166\u004e\u0001\u0000\u0000\u0000\u0167\u0168\u0005\u005b\u0000\u0000\u0168\u0169\u0005\u0063\u0000\u0000\u0169\u016a\u0005\u006f\u0000\u0000\u016a\u016b\u0005\u006c\u0000\u0000\u016b\u016c\u0005\u006f\u0000\u0000\u016c\u016d\u0005\u0072\u0000\u0000\u016d\u016e\u0005\u003d\u0000\u0000\u016e\u0050\u0001\u0000\u0000\u0000\u016f\u0170\u0005\u005b\u0000\u0000\u0170\u0171\u0005\u0043\u0000\u0000\u0171\u0172\u0005\u004f\u0000\u0000\u0172\u0173\u0005\u004c\u0000\u0000\u0173\u0174\u0005\u004f\u0000\u0000\u0174\u0175\u0005\u0052\u0000\u0000\u0175\u0176\u0005\u003d\u0000\u0000\u0176\u0052\u0001\u0000\u0000\u0000\u0177\u0178\u0005\u005b\u0000\u0000\u0178\u0179\u0005\u002f\u0000\u0000\u0179\u017a\u0005\u0063\u0000\u0000\u017a\u017b\u0005\u006f\u0000\u0000\u017b\u017c\u0005\u006c\u0000\u0000\u017c\u017d\u0005\u006f\u0000\u0000\u017d\u017e\u0005\u0072\u0000\u0000\u017e\u017f\u0005\u005d\u0000\u0000\u017f\u0054\u0001\u0000\u0000\u0000\u0180\u0181\u0005\u005b\u0000\u0000\u0181\u0182\u0005\u002f\u0000\u0000\u0182\u0183\u0005\u0043\u0000\u0000\u0183\u0184\u0005\u004f\u0000\u0000\u0184\u0185\u0005\u004c\u0000\u0000\u0185\u0186\u0005\u004f\u0000\u0000\u0186\u0187\u0005\u0052\u0000\u0000\u0187\u0188\u0005\u005d\u0000\u0000\u0188\u0056\u0001\u0000\u0000\u0000\u0189\u018a\u0005\u0028\u0000\u0000\u018a\u018b\u0005\u0062\u0000\u0000\u018b\u018c\u0005\u0067\u0000\u0000\u018c\u018d\u0005\u006d\u0000\u0000\u018d\u0058\u0001\u0000\u0000\u0000\u018e\u018f\u0005\u0028\u0000\u0000\u018f\u0190\u0005\u0042\u0000\u0000\u0190\u0191\u0005\u0047\u0000\u0000\u0191\u0192\u0005\u004d\u0000\u0000\u0192\u005a\u0001\u0000\u0000\u0000\u0193\u0194\u0005\u0028\u0000\u0000\u0194\u0195\u0005\u003d\u0000\u0000\u0195\u0196\u0005\u0041\u0000\u0000\u0196\u0197\u0005\u003d\u0000\u0000\u0197\u0198\u0005\u0029\u0000\u0000\u0198\u005c\u0001\u0000\u0000\u0000\u0199\u019a\u0005\u0028\u0000\u0000\u019a\u019b\u0005\u003d\u0000\u0000\u019b\u019c\u0005\u0077\u0000\u0000\u019c\u019d\u0005\u003d\u0000\u0000\u019d\u019e\u0005\u0029\u0000\u0000\u019e\u005e\u0001\u0000\u0000\u0000\u019f\u01a0\u0005\u0028\u0000\u0000\u01a0\u01a1\u0005\u002d\u0000\u0000\u01a1\u01a2\u0005\u0077\u0000\u0000\u01a2\u01a3\u0005\u003d\u0000\u0000\u01a3\u01a4\u0005\u0029\u0000\u0000\u01a4\u0060\u0001\u0000\u0000\u0000\u01a5\u01a6\u0005\u0028\u0000\u0000\u01a6\u01a7\u0005\u0053\u0000\u0000\u01a7\u01a8\u0005\u005f\u0000\u0000\u01a8\u01a9\u0005\u0053\u0000\u0000\u01a9\u01aa\u0005\u0029\u0000\u0000\u01aa\u0062\u0001\u0000\u0000\u0000\u01ab\u01ac\u0005\u0028\u0000\u0000\u01ac\u01ad\u0005\u003d\u0000\u0000\u01ad\u01ae\u0005\u0076\u0000\u0000\u01ae\u01af\u0005\u003d\u0000\u0000\u01af\u01b0\u0005\u0029\u0000\u0000\u01b0\u0064\u0001\u0000\u0000\u0000\u01b1\u01b2\u0005\u0028\u0000\u0000\u01b2\u01b3\u0005\u0040\u0000\u0000\u01b3\u01b4\u0005\u005f\u0000\u0000\u01b4\u01b5\u0005\u0040\u0000\u0000\u01b5\u01b6\u0005\u0029\u0000\u0000\u01b6\u0066\u0001\u0000\u0000\u0000\u01b7\u01b8\u0005\u0028\u0000\u0000\u01b8\u01b9\u0005\u003d\u0000\u0000\u01b9\u01ba\u0005\u0057\u0000\u0000\u01ba\u01bb\u0005\u003d\u0000\u0000\u01bb\u01bc\u0005\u0029\u0000\u0000\u01bc\u0068\u0001\u0000\u0000\u0000\u01bd\u01be\u0005\u0028\u0000\u0000\u01be\u01bf\u0005\u0054\u0000\u0000\u01bf\u01c0\u0005\u0041\u0000\u0000\u01c0\u01c1\u0005\u0054\u0000\u0000\u01c1\u01c2\u0005\u0029\u0000\u0000\u01c2\u006a\u0001\u0000\u0000\u0000\u01c3\u01c4\u0005\u0028\u0000\u0000\u01c4\u01c5\u0005\u0054\u0000\u0000\u01c5\u01c6\u0005\u005f\u0000\u0000\u01c6\u01c7\u0005\u0054\u0000\u0000\u01c7\u01c8\u0005\u0029\u0000\u0000\u01c8\u006c\u0001\u0000\u0000\u0000\u01c9\u01ca\u0005\u0028\u0000\u0000\u01ca\u01cb\u0005\u003d\u0000\u0000\u01cb\u01cc\u0005\u0027\u0000\u0000\u01cc\u01cd\u0005\u003d\u0000\u0000\u01cd\u01ce\u0005\u0029\u0000\u0000\u01ce\u006e\u0001\u0000\u0000\u0000\u01cf\u01d0\u0005\u0028\u0000\u0000\u01d0\u01d1\u0005\u003d\u0000\u0000\u01d1\u01d2\u0005\u0033\u0000\u0000\u01d2\u01d3\u0005\u003d\u0000\u0000\u01d3\u01d4\u0005\u0029\u0000\u0000\u01d4\u0070\u0001\u0000\u0000\u0000\u01d5\u01d6\u0005\u0028\u0000\u0000\u01d6\u01d7\u0005\u003d\u0000\u0000\u01d7\u01d8\u0005\u0020\u0000\u0000\u01d8\u01d9\u0005\u003d\u0000\u0000\u01d9\u01da\u0005\u0027\u0000\u0000\u01da\u01db\u0005\u0029\u0000\u0000\u01db\u0072\u0001\u0000\u0000\u0000\u01dc\u01dd\u0005\u0028\u0000\u0000\u01dd\u01de\u0005\u003d\u0000\u0000\u01de\u01df\u0005\u002f\u0000\u0000\u01df\u01e0\u0005\u002f\u0000\u0000\u01e0\u01e1\u0005\u002f\u0000\u0000\u01e1\u01e2\u0005\u003d\u0000\u0000\u01e2\u01e3\u0005\u0029\u0000\u0000\u01e3\u0074\u0001\u0000\u0000\u0000\u01e4\u01e5\u0005\u0028\u0000\u0000\u01e5\u01e6\u0005\u003d\u0000\u0000\u01e6\u01e7\u0005\u002e\u0000\u0000\u01e7\u01e8\u0005\u002c\u0000\u0000\u01e8\u01e9\u0005\u003d\u0000\u0000\u01e9\u01ea\u0005\u0029\u0000\u0000\u01ea\u0076\u0001\u0000\u0000\u0000\u01eb\u01ec\u0005\u0028\u0000\u0000\u01ec\u01ed\u0005\u003a\u0000\u0000\u01ed\u01ee\u0005\u0050\u0000\u0000\u01ee\u01ef\u0005\u0029\u0000\u0000\u01ef\u0078\u0001\u0000\u0000\u0000\u01f0\u01f1\u0005\u0028\u0000\u0000\u01f1\u01f2\u0005\u004c\u0000\u0000\u01f2\u01f3\u0005\u004f\u0000\u0000\u01f3\u01f4\u0005\u004c\u0000\u0000\u01f4\u01f5\u0005\u0029\u0000\u0000\u01f5\u007a\u0001\u0000\u0000\u0000\u01f6\u01f7\u0005\u005b\u0000\u0000\u01f7\u01f8\u0005\u0075\u0000\u0000\u01f8\u01f9\u0005\u0072\u0000\u0000\u01f9\u01fa\u0005\u006c\u0000\u0000\u01fa\u01fb\u0005\u005d\u0000\u0000\u01fb\u007c\u0001\u0000\u0000\u0000\u01fc\u01fd\u0005\u005b\u0000\u0000\u01fd\u01fe\u0005\u0055\u0000\u0000\u01fe\u01ff\u0005\u0052\u0000\u0000\u01ff\u0200\u0005\u004c\u0000\u0000\u0200\u0201\u0005\u005d\u0000\u0000\u0201\u007e\u0001\u0000\u0000\u0000\u0202\u0203\u0005\u005b\u0000\u0000\u0203\u0204\u0005\u002f\u0000\u0000\u0204\u0205\u0005\u0075\u0000\u0000\u0205\u0206\u0005\u0072\u0000\u0000\u0206\u0207\u0005\u006c\u0000\u0000\u0207\u0208\u0005\u005d\u0000\u0000\u0208\u0080\u0001\u0000\u0000\u0000\u0209\u020a\u0005\u005b\u0000\u0000\u020a\u020b\u0005\u002f\u0000\u0000\u020b\u020c\u0005\u0055\u0000\u0000\u020c\u020d\u0005\u0052\u0000\u0000\u020d\u020e\u0005\u004c\u0000\u0000\u020e\u020f\u0005\u005d\u0000\u0000\u020f\u0082\u0001\u0000\u0000\u0000\u0210\u0211\u0005\u005b\u0000\u0000\u0211\u0212\u0005\u0075\u0000\u0000\u0212\u0213\u0005\u0072\u0000\u0000\u0213\u0214\u0005\u006c\u0000\u0000\u0214\u0215\u0005\u003d\u0000\u0000\u0215\u0084\u0001\u0000\u0000\u0000\u0216\u0217\u0005\u005b\u0000\u0000\u0217\u0218\u0005\u0055\u0000\u0000\u0218\u0219\u0005\u0052\u0000\u0000\u0219\u021a\u0005\u004c\u0000\u0000\u021a\u021b\u0005\u003d\u0000\u0000\u021b\u0086\u0001\u0000\u0000\u0000\u021c\u021d\u0005\u005b\u0000\u0000\u021d\u021e\u0005\u0069\u0000\u0000\u021e\u021f\u0005\u006d\u0000\u0000\u021f\u0220\u0005\u0067\u0000\u0000\u0220\u0088\u0001\u0000\u0000\u0000\u0221\u0222\u0005\u005b\u0000\u0000\u0222\u0223\u0005\u0049\u0000\u0000\u0223\u0224\u0005\u004d\u0000\u0000\u0224\u0225\u0005\u0047\u0000\u0000\u0225\u008a\u0001\u0000\u0000\u0000\u0226\u0227\u0005\u005b\u0000\u0000\u0227\u0228\u0005\u002f\u0000\u0000\u0228\u0229\u0005\u0069\u0000\u0000\u0229\u022a\u0005\u006d\u0000\u0000\u022a\u022b\u0005\u0067\u0000\u0000\u022b\u022c\u0005\u005d\u0000\u0000\u022c\u008c\u0001\u0000\u0000\u0000\u022d\u022e\u0005\u005b\u0000\u0000\u022e\u022f\u0005\u002f\u0000\u0000\u022f\u0230\u0005\u0049\u0000\u0000\u0230\u0231\u0005\u004d\u0000\u0000\u0231\u0232\u0005\u0047\u0000\u0000\u0232\u0233\u0005\u005d\u0000\u0000\u0233\u008e\u0001\u0000\u0000\u0000\u0234\u0236\u0007\u0000\u0000\u0000\u0235\u0234\u0001\u0000\u0000\u0000\u0236\u0237\u0001\u0000\u0000\u0000\u0237\u0235\u0001\u0000\u0000\u0000\u0237\u0238\u0001\u0000\u0000\u0000\u0238\u0090\u0001\u0000\u0000\u0000\u0239\u023a\u0005\u0022\u0000\u0000\u023a\u023b\u0003\u0093\u0049\u0000\u023b\u023c\u0005\u0022\u0000\u0000\u023c\u0092\u0001\u0000\u0000\u0000\u023d\u023f\u0008\u0001\u0000\u0000\u023e\u023d\u0001\u0000\u0000\u0000\u023f\u0240\u0001\u0000\u0000\u0000\u0240\u023e\u0001\u0000\u0000\u0000\u0240\u0241\u0001\u0000\u0000\u0000\u0241\u0094\u0001\u0000\u0000\u0000\u0003\u0000\u0237\u0240\u0000"

        private val ATN = ATNDeserializer().deserialize(SERIALIZED_ATN.toCharArray())

        private val DECISION_TO_DFA = Array(ATN.numberOfDecisions) {
            DFA(ATN.getDecisionState(it)!!, it)
        }

        private val SHARED_CONTEXT_CACHE = PredictionContextCache()

        private val LITERAL_NAMES: Array<String?> = arrayOf(
            null, "'('", "')'", "'['", "'/'", "']'", "'='", "','", "'[b]'",
            "'[B]'", "'[/b]'", "'[/B]'", "'[i]'", "'[I]'", "'[/i]'", "'[/I]'",
            "'[u]'", "'[U]'", "'[/u]'", "'[/U]'", "'[s]'", "'[S]'", "'[/s]'",
            "'[/S]'", "'[code]'", "'[CODE]'", "'[/code]'", "'[/CODE]'",
            "'[mask]'", "'[MASK]'", "'[/mask]'", "'[/MASK]'", "'[quote]'",
            "'[QUOTE]'", "'[/quote]'", "'[/QUOTE]'", "'[size='", "'[SIZE='",
            "'[/size]'", "'[/SIZE]'", "'[color='", "'[COLOR='", "'[/color]'",
            "'[/COLOR]'", "'(bgm'", "'(BGM'", "'(=A=)'", "'(=w=)'", "'(-w=)'",
            "'(S_S)'", "'(=v=)'", "'(@_@)'", "'(=W=)'", "'(TAT)'", "'(T_T)'",
            "'(='=)'", "'(=3=)'", "'(= =')'", "'(=///=)'", "'(=.,=)'", "'(:P)'",
            "'(LOL)'", "'[url]'", "'[URL]'", "'[/url]'", "'[/URL]'", "'[url='",
            "'[URL='", "'[img'", "'[IMG'", "'[/img]'", "'[/IMG]'",
        )

        private val SYMBOLIC_NAMES: Array<String?> = arrayOf(
            null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null,
            null, null, null, null, null, null, null, null, null, null,
            null, null, "NUMBER", "QUOTED", "TEXT",
        )

        private val VOCABULARY = VocabularyImpl(LITERAL_NAMES, SYMBOLIC_NAMES)
    }

    public object Tokens {
        public const val T__0: Int = 1
        public const val T__1: Int = 2
        public const val T__2: Int = 3
        public const val T__3: Int = 4
        public const val T__4: Int = 5
        public const val T__5: Int = 6
        public const val T__6: Int = 7
        public const val T__7: Int = 8
        public const val T__8: Int = 9
        public const val T__9: Int = 10
        public const val T__10: Int = 11
        public const val T__11: Int = 12
        public const val T__12: Int = 13
        public const val T__13: Int = 14
        public const val T__14: Int = 15
        public const val T__15: Int = 16
        public const val T__16: Int = 17
        public const val T__17: Int = 18
        public const val T__18: Int = 19
        public const val T__19: Int = 20
        public const val T__20: Int = 21
        public const val T__21: Int = 22
        public const val T__22: Int = 23
        public const val T__23: Int = 24
        public const val T__24: Int = 25
        public const val T__25: Int = 26
        public const val T__26: Int = 27
        public const val T__27: Int = 28
        public const val T__28: Int = 29
        public const val T__29: Int = 30
        public const val T__30: Int = 31
        public const val T__31: Int = 32
        public const val T__32: Int = 33
        public const val T__33: Int = 34
        public const val T__34: Int = 35
        public const val T__35: Int = 36
        public const val T__36: Int = 37
        public const val T__37: Int = 38
        public const val T__38: Int = 39
        public const val T__39: Int = 40
        public const val T__40: Int = 41
        public const val T__41: Int = 42
        public const val T__42: Int = 43
        public const val T__43: Int = 44
        public const val T__44: Int = 45
        public const val T__45: Int = 46
        public const val T__46: Int = 47
        public const val T__47: Int = 48
        public const val T__48: Int = 49
        public const val T__49: Int = 50
        public const val T__50: Int = 51
        public const val T__51: Int = 52
        public const val T__52: Int = 53
        public const val T__53: Int = 54
        public const val T__54: Int = 55
        public const val T__55: Int = 56
        public const val T__56: Int = 57
        public const val T__57: Int = 58
        public const val T__58: Int = 59
        public const val T__59: Int = 60
        public const val T__60: Int = 61
        public const val T__61: Int = 62
        public const val T__62: Int = 63
        public const val T__63: Int = 64
        public const val T__64: Int = 65
        public const val T__65: Int = 66
        public const val T__66: Int = 67
        public const val T__67: Int = 68
        public const val T__68: Int = 69
        public const val T__69: Int = 70
        public const val T__70: Int = 71
        public const val NUMBER: Int = 72
        public const val QUOTED: Int = 73
        public const val TEXT: Int = 74
    }

    public object Channels {
        public const val DEFAULT_TOKEN_CHANNEL: Int = 0
        public const val HIDDEN: Int = 1
    }

    public object Modes {
        public const val DEFAULT_MODE: Int = 0
    }

    override var interpreter: LexerATNSimulator =
        @Suppress("LeakingThis")
        LexerATNSimulator(this, ATN, DECISION_TO_DFA, SHARED_CONTEXT_CACHE)

    override val grammarFileName: String =
        "BBCode.g4"

    override val atn: ATN =
        ATN

    override val vocabulary: Vocabulary =
        VOCABULARY

    override val serializedATN: String =
        SERIALIZED_ATN

    override val ruleNames: Array<String> = arrayOf(
        "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7",
        "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15",
        "T__16", "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23",
        "T__24", "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31",
        "T__32", "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39",
        "T__40", "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47",
        "T__48", "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55",
        "T__56", "T__57", "T__58", "T__59", "T__60", "T__61", "T__62", "T__63",
        "T__64", "T__65", "T__66", "T__67", "T__68", "T__69", "T__70", "NUMBER",
        "QUOTED", "TEXT",
    )

    override val channelNames: Array<String> = arrayOf(
        "DEFAULT_TOKEN_CHANNEL", "HIDDEN",
    )

    override val modeNames: Array<String> = arrayOf(
        "DEFAULT_MODE",
    )


}
